home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 137 / 137.d81 / ps plot source < prev    next >
Text File  |  2022-08-26  |  2KB  |  231 lines

  1.  
  2. open =$ffc0
  3. readst =$ffb7
  4. setlfs =$ffba
  5. setnam =$ffbd
  6. load =$ffd5
  7. getin =$ffe4
  8. clrchn =$ffcc
  9. close =$ffc3   ;a
  10. chrin =$ffcf
  11. chkout =$ffc9  ;x
  12. chkin =$ffc6   ;x
  13. plot =$fff0
  14. chrout =$ffd2
  15. color'pointer =243
  16. screen'line'pointer =209
  17. print'number =$bdcd ;x,a
  18. clear'line =59903
  19. background =53281
  20. border =53280
  21. unlisten =$ffae
  22. clall =$ffe7
  23. low =247
  24. high =248
  25. temp =249
  26. avar =251
  27. cvar =253
  28. nvar =$22
  29.  
  30. lvar =$14
  31. ivar =$15
  32. jvar =167
  33. kvar =168
  34.  
  35.  
  36. .org $9600
  37. .obj "@0:board.ml"
  38. ;mem
  39.  
  40. jsr get'number
  41. sty 753 ;ps location
  42. sta 754
  43. jsr get'number
  44. sty 752;bitmap
  45. jsr get'number;x
  46. sty 750
  47. jsr get'number;y
  48. sty 751
  49.  
  50. sei
  51. lda #74
  52. sta 1
  53.  
  54. lda #0
  55. sta nvar
  56. sta nvar+1
  57. sta lvar
  58. sta ivar
  59. l904 lda #0
  60. sta jvar
  61. l906 lda #0
  62. sta kvar
  63.  
  64. long'line jsr zero'temp
  65. lda 752
  66. sta high;rem placing low byte in high mults by 256
  67. lda #0
  68. sta low
  69. jsr add'temp;add result to temp
  70.  
  71. lda 750
  72. sta low
  73. lda #0
  74. sta high
  75. asl low;mult 8
  76. rol high
  77. asl low
  78. rol high
  79. asl low
  80. rol high
  81. jsr add'temp
  82.  
  83. lda 751
  84. sta low
  85. lda #0
  86. asl low
  87. rol high
  88. asl low
  89. rol high
  90. asl low
  91. rol high
  92. asl low
  93. rol high
  94. asl low
  95. rol high
  96. asl low
  97. rol high
  98. lda #0
  99. clc
  100. adc low
  101. sta low
  102. lda 751
  103. adc high
  104. sta high
  105.  
  106. jsr add'temp
  107.  
  108. lda jvar
  109. clc
  110. adc temp
  111. sta temp
  112. lda #0
  113. adc temp+1
  114. sta temp+1
  115.  
  116.  
  117. lda kvar
  118. sta low
  119. lda #0
  120. sta high
  121. asl low
  122. rol high
  123. asl low
  124. rol high
  125. asl low
  126. rol high
  127.  
  128. jsr add'temp
  129.  
  130. lda ivar
  131. sta low
  132. lda #0
  133. sta high
  134. asl low
  135. rol high
  136. asl low
  137. rol high
  138. asl low
  139. rol high
  140. asl low
  141. rol high
  142. asl low
  143. rol high
  144. asl low
  145. rol high
  146. lda #0
  147. adc low
  148. sta low
  149. lda ivar
  150. adc high
  151. sta high
  152. jsr add'temp
  153.  
  154. lda temp
  155. sta avar
  156. lda temp+1
  157. sta avar+1
  158.  
  159. jsr zero'temp
  160.  
  161. lda 753
  162. sta low
  163. lda 754
  164. sta high
  165. jsr add'temp
  166.  
  167. lda nvar
  168. clc
  169. adc temp
  170. sta cvar
  171. lda nvar+1
  172. adc temp+1
  173. sta cvar+1
  174.  
  175. jsr zero'temp
  176.  
  177. ldy #0
  178. lda (cvar),y
  179. sta (avar),y
  180.  
  181. inc nvar
  182. bne +
  183. inc nvar+1
  184. + inc kvar
  185. lda kvar
  186. cmp #11
  187. bcs +
  188. jmp long'line
  189.  
  190. + inc jvar
  191. inc lvar
  192. lda lvar
  193. cmp #52
  194. bcs done
  195. lda jvar
  196. cmp #8
  197. bcs +
  198. jmp l906
  199. + inc ivar
  200. jmp l904
  201.  
  202. done lda #$77
  203. sta 1
  204. cli
  205. rts
  206.  
  207. add'temp lda low
  208. clc
  209. adc temp
  210. sta temp
  211. lda high
  212. adc temp+1
  213. sta temp+1
  214. rts
  215.  
  216. zero'temp lda #0
  217. sta temp
  218. sta temp+1
  219. rts
  220.  
  221.  
  222. ;**** get number from BASIC ****
  223.  
  224. get'number jsr $aefd
  225. jsr $ad8a
  226. jmp $b7f7
  227.  
  228.  
  229.  
  230.  
  231.